{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "93723569-e97b-4e07-9b7b-344f06f9dfa7",
   "metadata": {},
   "source": [
    "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ourownstory/neural_prophet/blob/main/tutorials/feature-use/test_and_crossvalidate.ipynb)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2f2af163-c378-4e01-8d5b-3def6194c29e",
   "metadata": {},
   "source": [
    "# Test and CrossValidate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "80400b6d-ca57-47ba-9dc5-0da3885ab6b1",
   "metadata": {},
   "outputs": [],
   "source": [
    "if \"google.colab\" in str(get_ipython()):\n",
    "    # uninstall preinstalled packages from Colab to avoid conflicts\n",
    "    !pip uninstall -y torch notebook notebook_shim tensorflow tensorflow-datasets prophet torchaudio torchdata torchtext torchvision \n",
    "    #!pip install git+https://github.com/ourownstory/neural_prophet.git # may take a while\n",
    "    !pip install neuralprophet # much faster, but may not have the latest upgrades/bugfixes\n",
    "\n",
    "import pandas as pd\n",
    "from neuralprophet import NeuralProphet, set_log_level\n",
    "\n",
    "set_log_level(\"ERROR\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e5e79793-8ebb-4d06-b021-82b49d107653",
   "metadata": {},
   "source": [
    "## Load data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "90e2ee7e-6798-4a0c-a37f-c3b7325d9c70",
   "metadata": {},
   "outputs": [],
   "source": [
    "data_location = \"https://raw.githubusercontent.com/ourownstory/neuralprophet-data/main/datasets/\"\n",
    "df = pd.read_csv(data_location + \"air_passengers.csv\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "24aaf32f-f3c4-4ac0-9317-122f4df932e7",
   "metadata": {},
   "source": [
    "## 1. Basic: Train and Test a model\n",
    "First, we show how to fit a model and evaluate it on a holdout set."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e4e4871e-c8a5-48cb-b86c-de75adbbaf24",
   "metadata": {},
   "source": [
    "### 1.1 Train-Test evaluation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "170af980-1830-4909-800a-b3e4f0ccc4f9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a7f36294fd644f9399ad5763e2c3920c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6662de852dad45a8bc91c1c27cd769ae",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.002764572622254491\n",
      "         MAE_val            18.907012939453125\n",
      "        RMSE_val            23.143999099731445\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MAE_val</th>\n",
       "      <th>RMSE_val</th>\n",
       "      <th>Loss_test</th>\n",
       "      <th>RegLoss_test</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>18.907013</td>\n",
       "      <td>23.143999</td>\n",
       "      <td>0.002765</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     MAE_val   RMSE_val  Loss_test  RegLoss_test\n",
       "0  18.907013  23.143999   0.002765           0.0"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m = NeuralProphet(seasonality_mode=\"multiplicative\", learning_rate=0.1)\n",
    "m.set_plotting_backend(\"plotly-static\")\n",
    "\n",
    "df = pd.read_csv(data_location + \"air_passengers.csv\")\n",
    "df_train, df_test = m.split_df(df=df, freq=\"MS\", valid_p=0.2)\n",
    "\n",
    "metrics_train = m.fit(df=df_train, freq=\"MS\")\n",
    "metrics_test = m.test(df=df_test)\n",
    "\n",
    "metrics_test"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "bafa6a99-0df5-43cf-a235-0af2a51a4bcf",
   "metadata": {},
   "source": [
    "### 1.2 Predict into future\n",
    "Before making any actual forecasts, re-fit the model on all data available, else you are greatly reducing your forecast accuracy!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "47d23260-ad96-4196-aba1-7eb9fd2e6b21",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "36fa0492fe28407a81ab9456864f07f7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8cd76eca9d7444b3a8ff2f36733de6cb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Predicting: 9it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/svg+xml": [
       "<svg class=\"main-svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"700\" height=\"420\" style=\"\" viewBox=\"0 0 700 420\"><rect x=\"0\" y=\"0\" width=\"700\" height=\"420\" style=\"fill: rgb(255, 255, 255); fill-opacity: 1;\"/><defs id=\"defs-020c45\"><g class=\"clips\"><clipPath id=\"clip020c45xyplot\" class=\"plotclip\"><rect width=\"566\" height=\"275\"/></clipPath><clipPath class=\"axesclip\" id=\"clip020c45x\"><rect x=\"46\" y=\"0\" width=\"566\" height=\"420\"/></clipPath><clipPath class=\"axesclip\" id=\"clip020c45y\"><rect x=\"0\" y=\"25\" width=\"700\" height=\"275\"/></clipPath><clipPath class=\"axesclip\" id=\"clip020c45xy\"><rect x=\"46\" y=\"25\" width=\"566\" height=\"275\"/></clipPath></g><g class=\"gradients\"/><g class=\"patterns\"/></defs><g class=\"bglayer\"/><g class=\"layer-below\"><g class=\"imagelayer\"/><g class=\"shapelayer\"/></g><g class=\"cartesianlayer\"><g class=\"subplot xy\"><g class=\"layer-subplot\"><g class=\"shapelayer\"/><g class=\"imagelayer\"/></g><g class=\"minor-gridlayer\"><g class=\"x\"/><g class=\"y\"/></g><g class=\"gridlayer\"><g class=\"x\"><path class=\"xgrid crisp\" transform=\"translate(77.3,0)\" d=\"M0,25v275\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(162.37,0)\" d=\"M0,25v275\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(247.43,0)\" d=\"M0,25v275\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(332.5,0)\" d=\"M0,25v275\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(417.79,0)\" d=\"M0,25v275\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(502.86,0)\" d=\"M0,25v275\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(587.92,0)\" d=\"M0,25v275\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/></g><g class=\"y\"><path class=\"ygrid crisp\" transform=\"translate(0,282.03)\" d=\"M46,0h566\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,224.88)\" d=\"M46,0h566\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,167.73)\" d=\"M46,0h566\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,110.58)\" d=\"M46,0h566\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,53.43)\" d=\"M46,0h566\" style=\"stroke: rgb(235, 240, 248); stroke-opacity: 1; stroke-width: 1px;\"/></g></g><g class=\"zerolinelayer\"/><path class=\"xlines-below\"/><path class=\"ylines-below\"/><g class=\"overlines-below\"/><g class=\"xaxislayer-below\"/><g class=\"yaxislayer-below\"/><g class=\"overaxes-below\"/><g class=\"plot\" transform=\"translate(46,25)\" clip-path=\"url(#clip020c45xyplot)\"><g class=\"scatterlayer mlayer\"><g class=\"trace scatter tracecc69dc\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M31.3,249.2L38.52,256.81L45.05,234.43L52.28,233.86L59.27,229.03L73.48,169.8L80.71,171.44L87.93,212.24L94.92,236.52L102.15,261.25L109.14,241.75L116.37,236.54L123.59,245.09L130.12,218.74L137.34,217.55L144.33,210.69L151.56,177.27L158.55,140.99L165.77,141.77L173,186.79L179.99,216.04L187.21,244.2L194.21,223.13L201.43,216.08L208.66,227.29L215.18,196.58L222.41,195.98L229.4,187.88L236.62,150.99L243.61,109L250.84,110.59L258.06,161.13L265.05,195.6L272.28,227.02L279.27,204.7L286.5,195.46L293.72,209.63L300.48,175.16L307.7,173.03L314.7,165.9L321.92,121.39L328.91,77.78L336.14,78.8L343.36,138.95L350.35,174.41L357.58,212.15L364.57,182.91L371.79,177.74L379.02,189.38L385.54,152.99L392.77,151.46L399.76,143.1L406.99,95.12L413.98,45.79L421.2,47.61L428.43,113.3L435.42,153.97L442.64,194.98L449.63,164.47L456.86,157.12L464.08,171.73L470.61,130.78L477.83,129.98L484.83,120.23L492.05,69.03L499.04,13.75L506.27,16.45L513.49,87.45L520.48,133.57L527.71,177.68L534.7,146.22\" style=\"vector-effect: none; fill: none; stroke: rgb(45, 146, 255); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g><g class=\"trace scatter traceb070cd\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"/><g class=\"points\"><path class=\"point\" transform=\"translate(31.3,248.45)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(38.52,256.45)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(45.05,225.02)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(52.28,229.59)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(59.27,225.59)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(66.49,187.3)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(73.48,162.73)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(80.71,161.59)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(87.93,197.59)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(94.92,230.16)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(102.15,254.17)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(109.14,236.45)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(116.37,234.17)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(123.59,246.74)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(130.12,221.59)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(137.34,229.59)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(144.33,221.02)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(151.56,179.87)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(158.55,147.87)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(165.77,139.87)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(173,197.59)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(179.99,223.31)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(187.21,251.31)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(194.21,235.88)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(201.43,222.74)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(208.66,233.02)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(215.18,196.45)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(222.41,202.16)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(229.4,188.45)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(236.62,158.73)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(243.61,115.29)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(250.84,109.01)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(258.06,163.87)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(265.05,195.87)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(272.28,221.59)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(279.27,197.02)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(286.5,190.16)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(293.72,205.02)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(300.48,189.02)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(307.7,165.01)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(314.7,158.73)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(321.92,122.72)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(328.91,73)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(336.14,82.15)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(343.36,138.15)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(350.35,165.01)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(357.58,205.59)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(364.57,181.59)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/></g><g class=\"text\"/></g></g></g><g class=\"overplot\"/><path class=\"xlines-above crisp\" d=\"M44.5,300.75H613.5M44.5,24.25H613.5\" style=\"fill: none; stroke-width: 1.5px; stroke: rgb(235, 240, 248); stroke-opacity: 1;\"/><path class=\"ylines-above crisp\" d=\"M45.25,25V300M612.75,25V300\" style=\"fill: none; stroke-width: 1.5px; stroke: rgb(235, 240, 248); stroke-opacity: 1;\"/><g class=\"overlines-above\"/><g class=\"xaxislayer-above\"><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"313.5\" transform=\"translate(77.3,0)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">1957</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"313.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(162.37,0)\">1958</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"313.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(247.43,0)\">1959</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"313.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(332.5,0)\">1960</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"313.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(417.79,0)\">1961</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"313.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(502.86,0)\">1962</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"313.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(587.92,0)\">1963</text></g></g><g class=\"yaxislayer-above\"><g class=\"ytick\"><text text-anchor=\"end\" x=\"42.5\" y=\"3.5\" transform=\"translate(0,282.03)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">300</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"42.5\" y=\"3.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,224.88)\">400</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"42.5\" y=\"3.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,167.73)\">500</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"42.5\" y=\"3.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,110.58)\">600</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"42.5\" y=\"3.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,53.43)\">700</text></g></g><g class=\"overaxes-above\"/></g></g><g class=\"polarlayer\"/><g class=\"smithlayer\"/><g class=\"ternarylayer\"/><g class=\"geolayer\"/><g class=\"funnelarealayer\"/><g class=\"pielayer\"/><g class=\"iciclelayer\"/><g class=\"treemaplayer\"/><g class=\"sunburstlayer\"/><g class=\"glimages\"/><defs id=\"topdefs-020c45\"><g class=\"clips\"/><clipPath id=\"legend020c45\"><rect width=\"77\" height=\"48\" x=\"0\" y=\"0\"/></clipPath><clipPath id=\"rangesliderx-020c45\"><rect x=\"0\" y=\"0\" width=\"566\" height=\"61.5\"/></clipPath></defs><g class=\"layer-above\"><g class=\"imagelayer\"/><g class=\"shapelayer\"/></g><g class=\"infolayer\"><g class=\"legend\" pointer-events=\"all\" transform=\"translate(623,25)\"><rect class=\"bg\" shape-rendering=\"crispEdges\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1; stroke-width: 0px;\" width=\"77\" height=\"48\" x=\"0\" y=\"0\"/><g class=\"scrollbox\" transform=\"\" clip-path=\"url(#legend020c45)\"><g class=\"groups\"><g class=\"traces\" transform=\"translate(0,14.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"3.9\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">yhat1</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(45, 146, 255); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"71.078125\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g><g class=\"traces\" transform=\"translate(0,33.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"3.9\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Actual</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"/><g class=\"legendsymbols\"><g class=\"legendpoints\"><path class=\"scatterpts\" transform=\"translate(20,0)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/></g></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"71.078125\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g></g></g><rect class=\"scrollbar\" rx=\"20\" ry=\"3\" width=\"0\" height=\"0\" style=\"fill: rgb(128, 139, 164); fill-opacity: 1;\" x=\"0\" y=\"0\"/></g><g class=\"rangeselector\" transform=\"\" style=\"cursor: pointer; pointer-events: all;\"><g class=\"button\" transform=\"\"><rect class=\"selector-rect\" shape-rendering=\"crispEdges\" rx=\"3\" ry=\"3\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(238, 238, 238); fill-opacity: 1; stroke-width: 0px;\" x=\"0\" y=\"0\" width=\"30\" height=\"19\"/><text class=\"selector-text\" text-anchor=\"middle\" x=\"15\" y=\"12.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">1w</text></g><g class=\"button\" transform=\"translate(35,0)\"><rect class=\"selector-rect\" shape-rendering=\"crispEdges\" rx=\"3\" ry=\"3\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(238, 238, 238); fill-opacity: 1; stroke-width: 0px;\" x=\"0\" y=\"0\" width=\"30\" height=\"19\"/><text class=\"selector-text\" text-anchor=\"middle\" x=\"15\" y=\"12.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">1m</text></g><g class=\"button\" transform=\"translate(70,0)\"><rect class=\"selector-rect\" shape-rendering=\"crispEdges\" rx=\"3\" ry=\"3\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(238, 238, 238); fill-opacity: 1; stroke-width: 0px;\" x=\"0\" y=\"0\" width=\"30\" height=\"19\"/><text class=\"selector-text\" text-anchor=\"middle\" x=\"15\" y=\"12.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">6m</text></g><g class=\"button\" transform=\"translate(105,0)\"><rect class=\"selector-rect\" shape-rendering=\"crispEdges\" rx=\"3\" ry=\"3\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(238, 238, 238); fill-opacity: 1; stroke-width: 0px;\" x=\"0\" y=\"0\" width=\"30\" height=\"19\"/><text class=\"selector-text\" text-anchor=\"middle\" x=\"15\" y=\"12.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">1y</text></g><g class=\"button\" transform=\"translate(140,0)\"><rect class=\"selector-rect\" shape-rendering=\"crispEdges\" rx=\"3\" ry=\"3\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(212, 212, 212); fill-opacity: 1; stroke-width: 0px;\" x=\"0\" y=\"0\" width=\"30\" height=\"19\"/><text class=\"selector-text\" text-anchor=\"middle\" x=\"15\" y=\"12.5\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 10px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">all</text></g></g><g class=\"g-gtitle\"/><g class=\"rangeslider-container\" pointer-events=\"all\" transform=\"translate(46,331)\"><rect class=\"rangeslider-bg\" x=\"0\" y=\"0\" shape-rendering=\"crispEdges\" width=\"566\" height=\"61.5\" transform=\"\" stroke-width=\"0\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1;\"/><g class=\"rangeslider-rangeplot xy\" clip-path=\"url(#rangesliderx-020c45)\"><g class=\"layer-subplot\"><g class=\"shapelayer\"/><g class=\"imagelayer\"/></g><g class=\"minor-gridlayer\"><g class=\"x\"/><g class=\"y\"/></g><g class=\"gridlayer\"><g class=\"x\"/><g class=\"y\"/></g><g class=\"zerolinelayer\"/><path class=\"xlines-below\"/><path class=\"ylines-below\"/><g class=\"overlines-below\"/><g class=\"xaxislayer-below\"/><g class=\"yaxislayer-below\"/><g class=\"overaxes-below\"/><g class=\"plot\"><g class=\"scatterlayer mlayer rangeplot\"><g class=\"trace scatter tracecc69dc\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M31.3,56.18L38.52,57.9L45.05,52.85L52.28,52.72L59.27,51.64L73.48,38.28L80.71,38.65L87.93,47.85L94.92,53.32L102.15,58.9L109.14,54.5L116.37,53.33L123.59,55.26L130.12,49.32L137.34,49.05L144.33,47.5L151.56,39.97L158.55,31.79L165.77,31.96L173,42.11L179.99,48.71L187.21,55.06L194.21,50.31L201.43,48.72L208.66,51.24L215.18,44.32L222.41,44.18L229.4,42.36L236.62,34.04L243.61,24.58L250.84,24.93L258.06,36.33L265.05,44.1L272.28,51.18L279.27,46.15L286.5,44.07L293.72,47.26L300.48,39.49L307.7,39.01L314.7,37.4L321.92,27.37L328.91,17.54L336.14,17.77L343.36,31.33L350.35,39.32L357.58,47.83L364.57,41.24L371.79,40.07L379.02,42.7L385.54,34.49L392.77,34.15L399.76,32.26L406.99,21.44L413.98,10.32L421.2,10.73L428.43,25.55L435.42,34.71L442.64,43.96L449.63,37.08L456.86,35.42L464.08,38.72L470.61,29.48L477.83,29.3L484.83,27.11L492.05,15.56L499.04,3.1L506.27,3.71L513.49,19.72L520.48,30.11L527.71,40.06L534.7,32.97\" style=\"vector-effect: none; fill: none; stroke: rgb(45, 146, 255); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g><g class=\"trace scatter traceb070cd\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"/><g class=\"points\"><path class=\"point\" transform=\"translate(31.3,56.01)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(38.52,57.82)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(45.05,50.73)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(52.28,51.76)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(59.27,50.86)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(66.49,42.23)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(73.48,36.69)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(80.71,36.43)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(87.93,44.55)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(94.92,51.89)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(102.15,57.3)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(109.14,53.31)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(116.37,52.79)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(123.59,55.63)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(130.12,49.96)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(137.34,51.76)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(144.33,49.83)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(151.56,40.55)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(158.55,33.34)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(165.77,31.53)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(173,44.55)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(179.99,50.35)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(187.21,56.66)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(194.21,53.18)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(201.43,50.22)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(208.66,52.54)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(215.18,44.29)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(222.41,45.58)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(229.4,42.49)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(236.62,35.79)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(243.61,25.99)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(250.84,24.58)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(258.06,36.95)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(265.05,44.16)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(272.28,49.96)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(279.27,44.42)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(286.5,42.87)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(293.72,46.22)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(300.48,42.61)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(307.7,37.2)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(314.7,35.79)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(321.92,27.67)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(328.91,16.46)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(336.14,18.52)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(343.36,31.15)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(350.35,37.2)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(357.58,46.35)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/><path class=\"point\" transform=\"translate(364.57,40.94)\" d=\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\" style=\"opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;\"/></g><g class=\"text\"/></g></g></g><g class=\"overplot\"/><path class=\"xlines-above crisp\" style=\"fill: none;\"/><path class=\"ylines-above crisp\" style=\"fill: none;\"/><g class=\"overlines-above\"/><g class=\"xaxislayer-above\"/><g class=\"yaxislayer-above\"/><g class=\"overaxes-above\"/></g><rect class=\"rangeslider-mask-min\" x=\"0\" y=\"0\" shape-rendering=\"crispEdges\" height=\"61.5\" width=\"0\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0.4;\"/><rect class=\"rangeslider-mask-max\" y=\"0\" shape-rendering=\"crispEdges\" height=\"61.5\" x=\"566\" width=\"0\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0.4;\"/><g class=\"rangeslider-grabber-min\" transform=\"translate(-2.5,0.5)\"><rect class=\"rangeslider-handle-min\" x=\"0\" width=\"4\" rx=\"1\" fill=\"#fff\" stroke=\"#444\" stroke-width=\"1\" shape-rendering=\"crispEdges\" y=\"15\" height=\"31\"/><rect class=\"rangeslider-grabarea-min\" width=\"10\" x=\"0\" y=\"0\" fill=\"transparent\" height=\"61.5\"/></g><g class=\"rangeslider-grabber-max\" transform=\"translate(564.5,0.5)\"><rect class=\"rangeslider-handle-max\" x=\"0\" width=\"4\" rx=\"1\" fill=\"#fff\" stroke=\"#444\" stroke-width=\"1\" shape-rendering=\"crispEdges\" y=\"15\" height=\"31\"/><rect class=\"rangeslider-grabarea-max\" width=\"10\" x=\"0\" y=\"0\" fill=\"transparent\" height=\"61.5\"/></g></g><g class=\"g-ytitle\" transform=\"translate(11.228515625,0)\"><text class=\"ytitle\" transform=\"rotate(-90,0.7718750000000014,162.5)\" x=\"0.7718750000000014\" y=\"162.5\" text-anchor=\"middle\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); opacity: 1; font-weight: normal; white-space: pre;\">y</text></g><g class=\"g-xtitle\"><text class=\"xtitle\" x=\"329\" y=\"420.5\" text-anchor=\"middle\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); opacity: 1; font-weight: normal; white-space: pre;\">ds</text></g></g></svg>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "m = NeuralProphet(seasonality_mode=\"multiplicative\", learning_rate=0.1)\n",
    "m.set_plotting_backend(\"plotly-static\")\n",
    "metrics_train2 = m.fit(df=df, freq=\"MS\")\n",
    "future = m.make_future_dataframe(df, periods=24, n_historic_predictions=48)\n",
    "forecast = m.predict(future)\n",
    "m.plot(forecast)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "c7960ba2-6d3a-464c-837a-e8f844839d59",
   "metadata": {},
   "source": [
    "### 1.3 Visualize training\n",
    "If you installed the `[live]` version of NeuralProphet, you can additionally visualize your training progress and spot any overfitting by evaluating every epoch.\n",
    "\n",
    "Note: Again, before making any predictions, re-fit the model with the entire data first."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "db5b66bb-9734-49f9-af09-bc497509e040",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4b02e251ead3407daa12ed1988161bd7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "75f84530c3624833a90f0ff10f419e3f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3555d794e7974918840b46d4660d3f8f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "21d256233e1146f59968433b536f09c9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ce8f0e3e0dc2495eb572f329a8dd0fe0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c9a71fc9af7c458b87845ed6c3b165f2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a2f82493f1774c1e8511057d61fbcf46",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d324e4afe74546fa9d8b9f9ef28c3e8b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9a49ae813579445a9022a0f6be56d611",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7b56602be9bf439ba498d321eee52f57",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "14a41d2e3b7541c7bbfe78e40fff15ee",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5336b401928d421bb76655d150af7d21",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a696e735f5b644c3ac13bfa9965c034a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "018ca4c4212f4c009aa6fe67b9a376c6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "534d19ef45f94b3794a2cd989b2c593a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "90e9346833d24dee899daaaa94767c41",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4f25172c011a4b41a738216019b5b9ed",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9401c0778a484a10926a0c86c6eb6b4d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8d43df66394744db8df28d761d8c31fd",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0161405a5e864ec8990bdb6c0c58ac52",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7325e42143f94838a2fa607f63467c24",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c05f3664fa0d45119150c6cd272e74a7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6f532c9d4b3d4d31a985e0b9347c12f1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1a14eff8de654a188749da4e3aa456fc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3ed1ddf52a1a4cd29511228587fefd57",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "af1c255433a44c1788a80e7c7165b3a2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "43a81d054460472f96fd253de5243dae",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "132fa1fc4d664daf9d6f32e560a0c7ed",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5ccaa0e2fb8745ba8606127124619080",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "91004ad298474191a5475a0e70f8e7cf",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "38dcf9574e574bd89924eb828ee8fc19",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4af103f505c04f8780e2a970e981a9c0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9547db1100fd4768a010f487ac066f2a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5954e0925e654583b6d59d835d12e5eb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9ef460a4cbc94af08368b4a0d3a2a658",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4f70b611b7b04f869163435371c8ca6b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6f59d32ada5c4660b5bbeebe233bc6df",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c42a2b5585be46e5b97e0997f580614b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9eb08234d8b34b36b07f481ed368a76e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "102085c4ca7e43148415e42717b0f78e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3a0d0b8a5756401b8dbd8f553c043bc0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bdd7546b75434c5a815325aa3fae5693",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "db5a0e0d22834ea1a59e6e498332c9f2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1bcbeab064d642659f31d0fa1812770d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5af33b6331904da1958214ded022524f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a32fd0622a784cb1aa93ef75bc6ef2fc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b25f0d0d92d640288222f47c20054aa1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bd81e97f3a9242c18681b67af768370c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dc00de565f9142ac9c1219b928d22088",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b9ffd20409324c4c861564e68ca197f7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f0977477d0d44f39b9834cbab0659ed6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b8f3ed846e4241aebd10b94af16aad89",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "56d9225c6c5c4f3a9b2d46730be4db99",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0eaf48817aea46b3a438fd67500620da",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9776bf5c47a045e58289047d16df1090",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a9b3689b9a17414c8d4a39f980109a1c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ada197826b8b4b79a8f07be88db44eaf",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1afb4a6ba5434d66837294c94bf468c1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9335efbae01240788b868169973e5990",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "93c1d2b0980445c3b412c18f2337b007",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "127552d5be0d45d1975dfef03c266854",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3a422bb825544f358ed31a5482a0cb25",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e3ed5187ceae47c983b5fac4c29d4d78",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5a72c3681f1c41eda153ce040efe3004",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "738991c4519b4a34b1f85298704bcf2e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0d6a528e27df4dc992703acbe62099b7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e126e3442602450ca08b4e110f8b7187",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3b6689bae3f4486c87069753d42d87fa",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7c8b9e2f9b084b039c9f5cc4afd2bb55",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2e61cf6ddfe2443d8e4b608583d26b2f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "40e93d88b0d346fd8b663597548ebcb7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "32aa58b1a9534dc887ac60bda2880082",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d1b0b81d0b1a438d905259a11b3957d6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e7f9b12f8da347e9ab1fb949e3a4a878",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9ea7369d9f3a4e04bfa60e7955aab7f9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "05cf574769934537ab54c614ddc0496e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a3b1574ab1ee4f7a9ef631967e185539",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "aaa341b171a6462b974cb49338603d3d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a6654ce4167a46fe9608649d1bc471fb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "953d6022744d41fead581d151ab234ab",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5bbe7a91822647ca8f788fa58f10f7b1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "17868adb8692483988203f77196f5d35",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "77fb3100d3944b13bb76502ec6d121c1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9af278ed2cdb46459261b41c58661b8b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "51212a7c93a34da2be77a3743a0800e1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a8fe67eeadd2498d84a0cafd5bf7be8b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2f9f7242dd65487a8183a2349cb1b269",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e3af68760d6c4d44912648ef29243d30",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fb9e49136ad1443a85a7d409483117bd",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7e6943b651a9413abc0ed1cfe7ff4432",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8defe7da3c7a40768300af2aa815826d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "37de83b683634d43ab03bf8a0bab204a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f169820364e64bee9f516cabe2dbd4d7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2cf86667551c472fbe36db5653d31bad",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "62000e9461234b5faf3d7ee8b3b2ee0f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0eb5e74aabfd4979876dc37478e235a6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8abc495fb1ae45199801ba68a131cd66",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "223c2b211d3c4f15ac7eefd03bb7d58d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "32bb202e046f48c489da96071f01a8c0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d7ebe581f0224930a5d7b6a23083807f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fce660ef38c544d6bd276b04e037145c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dc5a25351e4c4bdeb482a47898141a8f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "036e63f808984777b5e1a5ac64701183",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8a0a866ba26847a690de350e3c9a461a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "258ece15026841ee95bb74e5b0677224",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c5fe3c77b9774646a25e07e7ce481592",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d3bd8767129f4bd5a068bc5f2a14a1c1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a584624fa5724cd3b580f690aa57eca6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9798f0bab0794437b057a965c953202f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c99f496dbe3648a9ae570bf6bd4642f9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1d1ecdc7cb5542e399a25e1001249c6b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c80fe615d5ae45209d96ea7b6b1a13c0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a0715cdc53834264b7b0cfd66b9aeee9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "944615e7e1d74dfe8b7b48421972a6d4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c096d59ddaa946ada3484f022dfda195",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "368f26b5a4054ec0aeaabc473fc1e12c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f415cfae08b948f4819534080c063f8f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "41b04367d8b74edcab2cf6d406b738a7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9ea631ed247945ad988163ecceebd2e9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "aa331344b25542c38454ca9bd9655993",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c67efeb1d266444999878ea7aced7d46",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "408f0dc5b21447d880dcd9175600ee83",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "56dc6f9bac464d9ebbbf38bdcb7d5f61",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "78e69a04d32c42258723ecae33da804d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "65936b254cdb4eb29de0d8e0d5f7ece0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7d61f3603359415e9f1ddf6998aea79a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e26b72ae86ca4760a11af75e6a14b1f0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "59614c55d6e14aae9057726d91b9ffe4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ea575f22051741da849753d496b48afb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9127e822a6684146a20a7c67778b0030",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "77faab92a8084c519a50864ff1259a88",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b01c9c8793a848a9b91e34d3a0d7c8f7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f97ea62c55cb40ecabb758c0d8ff1745",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3b12040217744167a57ecf44761a68df",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "035a15afe55a4d78a2ec5837ddff1602",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c3b49f50a29140259de758ef9e296ae3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3028875cad26465d8c587d43b35ff383",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "11eba412429245edb95eb95168143820",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9df267fc2d6341d2b0ea1d86e1abf45d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3d4a8253442f4a84ba900256cea82255",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bdf81f49f41f49aaac48dc867a3cd034",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1f29203692aa4e8e90e52208c2c350dc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3f26d72604f04807a5c49bd9e8f8e92d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fbcbb76719d34ec7b81ffdcc72363ad7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b8ee9b4de134473bb959dc989c83cc7f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0bbb964d9be14f3e9605ca074408452f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "82b282f3ea1842edb856258fce060058",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0348faedaa5c44d7bd940e09bac7be13",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5af0813017994155bb0016fef6be8c5d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f756269a7d174505967c53257689f06e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4b3d18ccbe3445238ba88215c8eadb74",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "82375509b18b4c79824375f67dd3d1e8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "798ffe9fc1cf40b5902dbd8ea0328ccf",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5acba017e81c4de2a796739262ce166e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "653ab0af41a34e44a55141b596aba2b7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "603406a07061461e8226af26da88831e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0b37e0e7f5de468985057d7f18fb7278",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e03ab7cb8b014a15ad8fb47f5e027aab",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "23c0ba792c404cd58311bd3d9c3a1b33",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4dd1baf0a10d4ab1b02ee6925380be8e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "649d69992e184e4c982f9bf2ef7fdc73",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3fbb5121d00c4206b1e54db6051b7b1b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "74e9ab6d81454ba290e06c11d7432bc6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "70c9cc3c55c94ad3a5d0c94819650217",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6eb15b2e6cf9462c990e6d870a6f0e76",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "84144add81fc4a18983fa45f7c4ab5c9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cb4f80be14dd48669d9e3caa007eeeb4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a7a942fbdc37409fbe04285405b8099c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "da2b904bd2ca40e49725cc29b8f746d0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5b4d86979ae04fa19f130ef210819c7f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d0b2e8a224f24ba09ee30b98a33eeb74",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dce6136d18bc4c88b2f08a7ef5dc958a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9ca5351bdbb443208cb10d91450f082a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "742c17e600eb42b2b8f7a80e59da3cda",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cfb82a0d7215495495c286ecd5bfc249",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e354a559111d46d999a9968840d09e75",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0f8d0a06812e468680a6552243e587fa",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "34e86da3413d4a4497b34f6e4965e728",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6b9bb50f67994222a0b61f35908f1815",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c0182a1070214ce2869ec9dbf0ba5ece",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3c2f93cf8b0e4a1ea10e8c52307fb30d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bf911516629049ac895793fb909f5eec",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "26173fa256d841349fc4dd5b4bebadb9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dffe635c92b34010aef7d7dd783cf400",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7aff3236dac0406398a0fd52caba9498",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c7787b7bd963474db4d843ce7a40feef",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "10f814aa9cf749d2887c66404dc4ab2b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b8c7749604ae4128b77ed49d08fab6b6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fe3ab297d8194333ad57bf6c23feb4b1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b6c80e5a8ead420aae2ecf94c9ebd9ea",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dce74496b54343ddb9dfa2acde86b667",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7aeb677f731b4035a4e8859c95c051be",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "db4d26ae0b93420aa96af02da755d26c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c29cc97ef389416786137ae18bc09e2b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "33d48d128e7d4d42a8076e2b071eef84",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a4e91ee5407843e99e7748f3ee1be031",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e9b073f2bdc94fca9f5ccb99932d0dbc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "976b1b60d5ca466188aa1ccb85606950",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c3075f6edf5e43e5bde83341a66c862b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "33f39943029841a0bc04417a56775e62",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2d18b3a80ace4e8c9eeb12329350b7f4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3d7386a02e0040be8a76f6174c444b0a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7fb7dc1c0a054caaab7664eed2b70208",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "613c559f346543f3a90501be579f6bd2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "72f4bc0fe5134b13a5c575658922b6d2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "abee304cb3c84b619d8e20751daf92f5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "779d88de6123437b9240abe894774f11",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6aeb5aadb70044098febb50118e60cb3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f4873e02fba54abaa7346dd4a1958282",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "23406b1b796b4ff58519f55098d6d1fe",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3b114248db0b4c95aca60ebb11980964",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "62c7bc3a704f484483a181118f12cf7f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e4c3a43effcf42f9b267fb081e646f14",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7c8f076615384e269c7a69e7e0118c3f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e92e14649a1249a7a6e6017ca8335253",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6af52eb54925432bbf73ce28118bae34",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "38fea0fd3e2e4c478b4758f42b7dda54",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "97e4091181af43008d31db29c18f7257",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2b9f866cc7fd4f0f85d28299df9fcd83",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "48641a5c729b41608e41ed1bd8dbdda8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dcf3d7903c2848c49b77959ec53ff52f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ff5d982e57944fb1968b489c40cf6132",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f65ef947d15e4470ae95e94f52260d7c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "231e996b6c2c4cf6accd506df275a091",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8e619958b53d4358a5ab83e6dd34ac49",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4c5b1f3aae6f4e24b1403c9f356ad107",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a70279e3c1e7402691c5ad331b4f09e2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a99ff036ab804db3997a3649094ae954",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0ee0b9c78d5246978599aa5868c394fe",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "307574abcd5540be9658641855450d63",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "92bfdeb01c4945fab7a67fab05e7e714",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0180d9abfe9548f4bff64d28d3adf29e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8e2f7b3b85d84209b679b4477de51d5c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e2f61166e62c45598616f0408cb4a7b7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "87792d3a62384d05b349f2958b701d1c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8a941ddbcf314a3b9e83ec593e91c724",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "35a2301386d340feb5d4ce3a33e26a7f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c187bb5bf1cb42a8a7afd9d6d0807e10",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d1ad98577b0942e68097e9c16ed2fe11",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2e3515f98ca44fb59e6f6ee566d58d65",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6f8f8fbadde549e3b821fcb87cbe1f97",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2feafbe8d4da420b8c349aeafac7c03a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "eec6bf5d6b32490b9b61c492de1b1b33",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6a07edff797248f88bc1d2bf87b1bd11",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c587f525293a4e3b90559a3df2afc15d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5e89693623624ce9957aff48d5ed9fd2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9bd6d4720a754b3a984bd16e9d44970b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9bff9e12e74d4e3cb5f3b73431cb1bff",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c2556c02b22940ce88c9ac4641d31183",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "90416e89479b4e79a8a29c846209a749",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b3698350d77c4a9ca1bcde170921385f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "013c17011d104b98af54fe192dd976b1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0d2cd311865846fc95c6d47ec2e8e17b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9ff99ec9984140d4970443ab62f825b8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0ef9ecec9a0747d9a28ec7558065fa60",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f57320602f1441048be3e23d40fdd934",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9e6af082869b4a5da69a30a2375eab66",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "93aa212d5e614ac096ea189f679231b8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "14f45591b8744e8eabf0cfcfb0d8f23f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4d32fed763764bb399276c7cf1291f64",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4ca17fd0b60f46938e2e2f4f6ebe947b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c8e2228f87fe47e2abac361ebcefda2c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b76f0a73d8b94250b58d3d0414d62a64",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9414d2fc2dd2460ab28a7f99be7dad8c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4b8209e1ac294e70976e518df0a2588b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6d2ebe706c3a44b19d6edb7af7508645",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3128651317f446888b039be69223537a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a42e67434530467fa185559bad9e5ffc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f5ddebab1ba5498fbcf119c7f6697b4e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "98a3c1ed3d9c4453a1380bae4d49ea09",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0e30e3c483eb415aa3879dab6bfac2ca",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d4c39a01f34a4fe3a5ff585747d1bd5c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a3979ceccb4149e08bfb56d1923e1e63",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "893cb8d92b704004b5380f30a65b3052",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "73efbf4b3f2b4da6a29db95c43c77cd7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "35071b9ab9e24650b8c2148b317c2433",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "89af354d40e44012a7ab978d8a654851",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ce791e271f2547969060e93eb297f74d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "091a18b6db2544958ce4df6f5504cf0c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "468c5bb5dfec45ef8b5facc0dbba7891",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cc00d8df30e643c29c336e3578dd2aff",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a25157ca60534c2badfdf2bf66e7d9b2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "77ca3166bdb24e9b9c12fa95b9f2e67b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b72f78e04ac24b249617b28b403ecb6d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6fc6c98678304d53946c1e0aabf117b6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e9f38115cbad44fb9279527140c08252",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fb8d7ac42dbc4e25bfb774d932a0fefb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8e4b5296e55847d2b250e8a3d61bcda0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fc17e8871069407c8656f3e86367f060",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e9eebe9338144cd2b650a87dc75ad766",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bfa53e3cd421420b81548f7da23fd126",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4ecc2c187dc443a48f7973399a23815a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "990b7d7c78c14458bc68bd4c10f109fb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "38948ba9380048119c99bfde8e561a31",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a7b6e3b5ed214884957386343929c4e6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5745ba7848fb463dbd58c896e81f4b98",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "25f42aef8cae4657ad158822cb41ba37",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "437c96e2241348de8e0fb7f8e21a6c2e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "77a1f188462842fb94d0d94d2dd5f7b8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "69ddbe80d6094b629725223e92b52aea",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2f5251a10c3d40bfa32586c8355fa417",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6355097ea81948bbbc6998ff4f57002a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a1e908bbfe4c4a03aa6720d64dddc6c1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "878159c96188498da239324c3794eecf",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cb16ada1d1334fcab36b707b9c7819ab",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3c48e3a33baa4e598c19f480e5c8dba0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6672b5fa35d34deea7284192fa5f8d2b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "be8beb716d0f4dbfb2a36fcc4b260bda",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d481e0d4a94c4c56a503d1b801d70687",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "419e17f3adc541a9b895d5d37f9641e1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e3df6126d7db4c15b52b8f93f742d190",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "632bdd6dfcb44a3097cfe1488226d606",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4826ca8ba53d49f58493ce7caf792986",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "90c880912bcf4ef495d6b8f280fe9d24",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "556c9c4dc4d74f389b943a0faa252374",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2d63bdb04a9b4b85b2e1c6cf0f9e963d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1caebb6650294a0cb51d06f3847af5a0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7101fcb20ca54a72bbbaec3c80ad8d71",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6306a2cd89584ef5845c05a8b63e1c50",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "195d235eab43435bab361898d599df2f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "29caac6e394a4d0da2e3dbe6f1372b4b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2186529ffb59436cb9e164d57fb9c4e0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e68f3e101f1b4a408d1def0e890bfd3a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d73b15a51c2249a78708d6957ec444c1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c2d1eff006c947eba6b582cffb639cfa",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "16efcb2946a74f72bc39074a4f11e11e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "56ca4af751744d6fa261876ff52b25a1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3961118e209644e1af8a72aa3e3e26c5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8550760995fb473985c1d6608371491d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7ca727783e934935a2f5b5c954966169",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bd00d1e4ff9f4a1f93ea8573cefe2562",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "822a245b581d43e3a9a83ad2b91f317a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dd8005d3b5354fabbd704e83bf44ef96",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e44ec73998b74f0a90cb7f2fa861c70e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f7b71e1533fe446599df0760bf0839ab",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "278de5abaf1f4fce8b9073d5b5528ff7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "952b164628f84b84a0708cbd20d54d3b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cc4e7b7a0f184be7970210242051a407",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ac2d71aa42c548b0bf3dd5b11706cb8c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7c7189e98880426797c4efca82ca4ebd",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9a37bba5ab704038b356f4f6d62162da",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f99e215fb99c4cd4acd3fe7ef6d6d413",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "274c6f263e144025bff04d4966f4cd7b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5baf98ec2bb943fca433d4ed99e11644",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b18c754450ca45aaa9afacf5fd18f53f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ff75e7581c2c4d26a9a6b6dab965398c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3227f55d632d4f9f8c3b34408d3f355f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4b2862a3dbf24e479f80d76fc1539437",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6636d639a80741f59956c556e46274c0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "84d49509addd4d709762779aba621393",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f6c276d5ba78428abf91c06d00491e54",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "88e12fe6c8e8422598b7a8e1b63534d4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b24cf6095d1843c19af3ed5971f0b46c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "806498598d964fb4abf929dfb146a7cc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "93428d5f84474f158f796f3f664bdbae",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "369cb38424f04d8eb37b39de428d6330",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1787691dfea84381ab720c59455dbeb5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8247e92bcb374130acc121b89298aecf",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cff0040ba4d44b3482de768ba1a8af55",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0d8f6d9f91a4477295273f8f50086ceb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "18cdce76ed86419aa29a068e903b7c0e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a46390422ee14b9289bb79fa92a7d099",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "19637ff23dac432e900b41379964fab4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a11541e506224724978d1b752552a426",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "649804e410774718b91ee792c6475b7c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7faa6b4756034abc85ce1f0484479412",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c8578335bdb94f40a14883da2525ef55",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "959e890fe8b747cb83e02c49b1dc3a6d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f705998ee13543d6996bb44f24419dff",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ebb3bad4e90644288bd3fb0ad896be96",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3630289fe73241ab8dd92f070ddc837a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f4ac6a2a2a3940378f672e83c8462fc2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "83c72da5b65c455e80fb4ce33b74d51c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "67576f2dc5bf4cfd968b94e3fe1e9fd0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7952395a911241a18d3b4f0d94a89bef",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6ac4e40986de43da9a5db2508b76d7aa",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "da67b9df7b0b47d9b05fe2c1106a2f2c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "466bd74a8ac241d0b87a8477e94ec005",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f7c198254a444054ba03325faa62d85e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c79e76c139394f87a3ecaa110f9beef4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5ff25bc1ca05451ab875b5a9f15a6fb0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3b8136f1dfa543469c04832f73b1ffca",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a7a3f6a5643149f89f3c6e32cfd30eae",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8da33255ad384267bbac86a253e40042",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c634b84faeff497a94cdeeb889c8510b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "11411b3de31947f5b99f18aeefe09172",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e9fdccdcabcb4e1ab4a0b7c2e1634439",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "331aace0cec24d178eacf833675ef717",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dbc887e234e842a99ff5ed7cd2f99675",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "77aa5385b70f49659a488d7f3362936f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5faf1cd32f22467fafa395217b13c34b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6b1e572a602542f3a9f5a9cbf4935824",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7b1a43b958804c97acf2205a4dc3f54f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "86d955a102664485b423f78389e1e682",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2abf5c72286242d2be2b219d982b2ab4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "739dd4dc10a64954aa0ee4b0dec815f8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "38ace5d82d3f459993971b9f415a4f25",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fae8397b9cdc4626a629e7f84d77c6a8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e6d2b023a79a4532889eeb6dbdc878b8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "16c1ca3699074d1a9ffdafe289162442",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f3b5bceddd5d4cb7891b7a4244e93bd7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e5d5274465774c58948017066242761e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "52fd49c4d7f1450bba3d515e71abd2bc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7f4917da808b4396add5b926e5573eb7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "be0d6f5c3fb8419d82325f4257a38537",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "22707ab685a14ca48fce63652a6f2f3d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cd0dfb08aae14b8f98546c19bde09679",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e805f617b38446a2a2c5d18ebf50c1a4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0112a7f87c174cc3be92568ce25c4a34",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3a17d2712b8f49b1ab00b21b0ae1e097",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c637e802bd0c4d48ae445e22b5894579",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3ec85ce628d24cbfa663228d70845a10",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c088eeedbe6e4bf3b32a7c28368b11db",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8c5e71fbda1c4b948c56572fa3f38765",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "915b3cdd5b4a4a51a65b5d4ce4975d44",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5c67e84505474d83b940b8e25b447e16",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "61d173b5a4d74be79124ab24930bf1be",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d5d8269ccee5494394a57d2e3f24409c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6a10290f64094747928cfe2111b36849",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e11f812425f0457c8da8b188d2d19a57",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5af0fc35c74849baaad75caf7e7a413e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b2e7b5ce55d049b185b9b457c9a48808",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f3311b3f9cc44a53945b9079ef15816b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4b1b143697d94d79a99fed59f6fb881a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b961f43c30e04d5287e1ff4cb3a9610e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cefaf3e2611e4883a4a3c3901f2f7217",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2f7310b90b3844b9972a7fe5c76ecf45",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1c555ff9d3ce458ea976c96f85c1d1ee",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ac40e6674d434acc9fa8eb92c30a0d98",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "52d0e095d35449c28cd7ae416fd3e144",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e51b2a1830ff4901a8b5722455fcaaa8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0dc7aa88ff3d480196fb209d017546d7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f3e83a54224240b9ba6ace91364a855e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9049147de7b041f9935e01f6c03cce45",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "288218f242c34362858891d33006db0c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "277ff159b78849bda85300d0ae3ddfbb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a82de5bee9bd425781c706d260b2a3a8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b16f770459f84f168bdc2fc63f267ecb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6de7d48cbeb443d685b3357ee449f95d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fcdc6cc66af34719bfa14f4d571c82a8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "90f9738ec6af4cf691934eae905297b9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "41d89db127834baab2601e70533868dd",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ee69c3fbdbd644d591ea7ede76d21fb2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a9a1dc3175a243118e206dcc2e9ce74f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1d10af8f5a6042bc9e9d40b3d7ac1822",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b5495cfed48242d1a3e6947032fb047a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d3d57001b4534a9f851731185e9b487e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a07cfac48599465c9af1465950dce181",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4decde6cc3824dae9032e3922b8a6ca2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e046c806b22f45e79f6d0636d5682c7e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a96fba1fdfd449c08d337f63dedd34b4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "95c722a98b464402850dc3e8a131e6cf",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7c4489df43da4721a44e1bf93b967c0f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e22fcdc232fd4d1cbaf24f998c9bdcb1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fcb733168fde4ee18b8ee74799a5104a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "840aa35377364e05b5b5d76396e3c087",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3a6d54207324450eba9935a691216df4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "747fd840f9e84d478f9f682f7684203d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "20dccacbb0e742688557e3d0966d2a2f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b620b3eab3b04b2292f160ffde75215f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "668cd5c62430497e90b124d75dc54235",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c453edd8633d4068ba383d3b847cf399",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bd0ab04420014ccf84d9d18d741c3208",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3a46e67449474913824bae3a6ba6eab4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ed97375d11c449fd9b474826e8352a11",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c2638c905203461ebf2d2bce742c4e8e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "eb0fe2f6436346bb9a8955cfeaa0dcee",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d491862da91b4ad49f8fb2381d2eaf6b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4983cf373fb3468d8ba1a452597dfcb8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b5b032ebce2c40c9b86bdc0d542b12c5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bfe9084a46354394bab3961fe9c3b81f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a06d05c67a79400497b6ac4198f6572f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c1bc5750a1ea40cfa381253c27a77010",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ad5330c405bb48749bc59364c767a524",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7d666921941f460c8dbe88e46092efc4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e7900d15271d4fc49fb64b62638f6077",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3153da8936ac410caa19fa394d3f8693",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0e6157cdc4b2425189fb34228017cd8e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "336ca4d1e5f342f3867b29d7406a95d5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bd43e23bae424c4fb815611da5fdd72c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1867cf48f2354fe3a43b427b3a538c12",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1a1ca75096284f2cb9ce3211a941d1e9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "772b8e52354b4aa793633dc2248bc55f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cedd9fb0d5494e0faf9b75640c2591f9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "aeb89ceaa3b144cb862811481e96307f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4e14322c324d46ae9e7461b4d53f7834",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1bf45f5249cd42e29910f55d738bd148",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "89f31dc687bc4051ad95aef1b4175827",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1aa91659541b437288fa2444f49e9f67",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4237f418a0234b1f80cd4db674a89f11",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "601992e60f98405d952e75a783f2418c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8bc25bd7af974271a24c0b7dac6a7b26",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4efa2f116b254018abeff1d8f90e6430",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Validation: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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esu89tpr5pRTTuHU3k5cf/31Jisry6xbt67dKXl1dXXRda677jozZswY89JLL5l33nnHFBYWmsLCwujzkVPyLr74YlNSUmLWrl1rhg0bxumPHbjlllvMK6+8Ynbt2mXee+89c8sttxjLsswLL7xgjOFYJ1rbs2mM4XjH0/e+9z2zbt06s2vXLvP666+boqIik5OTYw4cOGCMSf6xHrBhxBhjfvOb35gxY8YYn89nZs2aZd58802nS+pzXn75ZSPpmMf8+fONMfbpvbfddpvJzc01fr/fXHTRRWb79u3t9nH48GFz+eWXm/T0dJOZmWkWLFhgqqurHXg3vV9Hx1qS+f3vfx9dp76+3nznO98xgwcPNmlpaearX/2q2b9/f7v97N6921xyySUmNTXV5OTkmO9973umqakpye+m9/vWt75lxo4da3w+nxk2bJi56KKLokHEGI51on02jHC842fevHlmxIgRxufzmVGjRpl58+aZHTt2RJ9P9rG2jDGmW206AAAAcTAgx4wAAIDegzACAAAcRRgBAACOIowAAABHEUYAAICjCCMAAMBRhBEAAOAowggAAHAUYQQAADiKMAIAABxFGAEAAI4ijAAAAEf9f8qml3nn4TwOAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "m = NeuralProphet(seasonality_mode=\"multiplicative\", learning_rate=0.1)\n",
    "m.set_plotting_backend(\"plotly-static\")\n",
    "\n",
    "df = pd.read_csv(data_location + \"air_passengers.csv\")\n",
    "df_train, df_test = m.split_df(df=df, freq=\"MS\", valid_p=0.2)\n",
    "\n",
    "metrics = m.fit(df=df_train, freq=\"MS\", validation_df=df_test, progress=\"plot\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "c84678f9-219f-4c7f-acca-3ff5b958855d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MAE_val</th>\n",
       "      <th>RMSE_val</th>\n",
       "      <th>Loss_val</th>\n",
       "      <th>RegLoss_val</th>\n",
       "      <th>epoch</th>\n",
       "      <th>MAE</th>\n",
       "      <th>RMSE</th>\n",
       "      <th>Loss</th>\n",
       "      <th>RegLoss</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>491</th>\n",
       "      <td>19.501102</td>\n",
       "      <td>23.570879</td>\n",
       "      <td>0.002867</td>\n",
       "      <td>0.0</td>\n",
       "      <td>491</td>\n",
       "      <td>6.099627</td>\n",
       "      <td>7.32115</td>\n",
       "      <td>0.000215</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       MAE_val   RMSE_val  Loss_val  RegLoss_val  epoch       MAE     RMSE  \\\n",
       "491  19.501102  23.570879  0.002867          0.0    491  6.099627  7.32115   \n",
       "\n",
       "         Loss  RegLoss  \n",
       "491  0.000215      0.0  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metrics.tail(1)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "3b0507f5-e4c6-4d97-845f-98a32cd0c64a",
   "metadata": {},
   "source": [
    "## 2. Time-series Cross-Validation\n",
    "Time-series cross-validation is a technique that is also referred to as a rolling origin backtest. It involves dividing the data into several folds. \n",
    "* During the first fold, we train the model on a portion of the data and then evaluate its performance on the next set of data points, which are determined by the fold_pct parameter (percentage of samples in each fold).\n",
    "* In the next fold, we include the evaluation data from the previous fold in the training data and then evaluate the model's performance on a later set of data points. \n",
    "* This process is repeated until the final fold, where the evaluation data reaches the end of the available data. Essentially, the forecast origin \"rolls\" forward as we move from one fold to the next.\n",
    "\n",
    "\n",
    "Note: Before making any actual forecasts, re-fit the model on all data available, else you are greatly reducing your forecast accuracy!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "fbf84c93-dc7c-406d-941a-87ae5b8adafa",
   "metadata": {},
   "outputs": [],
   "source": [
    "METRICS = [\"MAE\", \"RMSE\"]\n",
    "METRICS_VAL = [\"MAE_val\", \"RMSE_val\"]\n",
    "params = {\"seasonality_mode\": \"multiplicative\", \"learning_rate\": 0.1}\n",
    "\n",
    "df = pd.read_csv(data_location + \"air_passengers.csv\")\n",
    "folds = NeuralProphet(**params).crossvalidation_split_df(df, freq=\"MS\", k=5, fold_pct=0.20, fold_overlap_pct=0.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b585c737-08f6-468e-890a-558348f6b9ee",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d23f7a58a153467989a473601b87f9d2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bfc0980a4363405e900469eeb5e35eee",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/138744510.py:9: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/138744510.py:10: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test           0.01086195558309555\n",
      "         MAE_val            16.587053298950195\n",
      "        RMSE_val             20.34723472595215\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6b89d55ef0f842c586542afeb96da4b3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fd756f3b3f4047d58650b47eeecf8c54",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/138744510.py:9: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/138744510.py:10: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test           0.02300422266125679\n",
      "         MAE_val            31.630748748779297\n",
      "        RMSE_val             34.3193244934082\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "374262632f0c4f56ab96277e3a7be7b5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ae858d27c20d4dc7b5049cd3e15390b1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/138744510.py:9: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/138744510.py:10: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.009417595341801643\n",
      "         MAE_val            21.363872528076172\n",
      "        RMSE_val             28.63540267944336\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "30227dfaf71b49c2b4c55104056e76ff",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "11c6daf7de8a4566b566b0022c9b73d7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/138744510.py:9: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/138744510.py:10: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.0073935664258897305\n",
      "         MAE_val            26.357913970947266\n",
      "        RMSE_val             30.63770866394043\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2c6f57f33daa4f8ba7dd3cf8291783d6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "208e26cb05d2445c8c9b5c8b0626e18c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/138744510.py:9: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/138744510.py:10: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.0026712114922702312\n",
      "         MAE_val            18.709611892700195\n",
      "        RMSE_val             22.74985122680664\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    }
   ],
   "source": [
    "metrics_train = pd.DataFrame(columns=METRICS)\n",
    "metrics_test = pd.DataFrame(columns=METRICS_VAL)\n",
    "\n",
    "for df_train, df_test in folds:\n",
    "    m = NeuralProphet(**params)\n",
    "    m.set_plotting_backend(\"plotly-static\")\n",
    "    train = m.fit(df=df_train, freq=\"MS\")\n",
    "    test = m.test(df=df_test)\n",
    "    metrics_train = metrics_train.append(train[METRICS].iloc[-1])\n",
    "    metrics_test = metrics_test.append(test[METRICS_VAL].iloc[-1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "e09fc84b-3e11-47be-aa88-024b0c27c8a1",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MAE_val</th>\n",
       "      <th>RMSE_val</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>22.929840</td>\n",
       "      <td>27.337904</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>6.081756</td>\n",
       "      <td>5.727830</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>16.587053</td>\n",
       "      <td>20.347235</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>31.630749</td>\n",
       "      <td>34.319324</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        MAE_val   RMSE_val\n",
       "mean  22.929840  27.337904\n",
       "std    6.081756   5.727830\n",
       "min   16.587053  20.347235\n",
       "max   31.630749  34.319324"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metrics_test.describe().loc[[\"mean\", \"std\", \"min\", \"max\"]]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bbd37a7c-17eb-4f6f-a7c8-f4ac15c41183",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 2. Advanced: 3-Phase Train, Validate and Test procedure\n",
    "Finally, in 2.1 and 2.2, we will do a 3-part data split to do a proper training, validation and test evaluation of your model. This setup is used if you do not want to bias your performance evaluation by your manual hyperparameter tuning. this is, however not common when working with time series, unless you work in academia. Crossvalidation is usually more than adequate to evaluate your model performance.\n",
    "\n",
    "If you are confused by this, simply ignore this section and continue your forecasting life. Or if you got curious, read up on how to evaluate machine learning models to level up your skills."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "44add497-fd4b-4926-9338-9b507bbec4e3",
   "metadata": {},
   "source": [
    "### 2.1 Train, Validate and Test evaluation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "8e342fef-b57d-4ab8-8550-f9311cb0e032",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "55ea3448cffc4e2b894b6fd504fe465c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0c954783f4144845b75b626a816833f0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.005187277216464281\n",
      "         MAE_val            18.062246322631836\n",
      "        RMSE_val            25.076841354370117\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5f2f498bdf734c6bbedf602fb282e1d3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dcbd97c419794f6a88e59b9cac8c9b48",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.0026784376241266727\n",
      "         MAE_val             18.72081184387207\n",
      "        RMSE_val             22.78059959411621\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    }
   ],
   "source": [
    "m = NeuralProphet(seasonality_mode=\"multiplicative\", learning_rate=0.1)\n",
    "m.set_plotting_backend(\"plotly-static\")\n",
    "\n",
    "df = pd.read_csv(data_location + \"air_passengers.csv\")\n",
    "# create a test holdout set:\n",
    "df_train_val, df_test = m.split_df(df=df, freq=\"MS\", valid_p=0.2)\n",
    "# create a validation holdout set:\n",
    "df_train, df_val = m.split_df(df=df_train_val, freq=\"MS\", valid_p=0.2)\n",
    "\n",
    "# fit a model on training data and evaluate on validation set.\n",
    "metrics_train1 = m.fit(df=df_train, freq=\"MS\")\n",
    "metrics_val = m.test(df=df_val)\n",
    "\n",
    "# refit model on training and validation data and evaluate on test set.\n",
    "m = NeuralProphet(seasonality_mode=\"multiplicative\", learning_rate=0.1)\n",
    "m.set_plotting_backend(\"plotly-static\")\n",
    "metrics_train2 = m.fit(df=df_train_val, freq=\"MS\")\n",
    "metrics_test = m.test(df=df_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "635e284c-b3b7-477c-ada0-9a131912137f",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/302924761.py:5: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MAE</th>\n",
       "      <th>RMSE</th>\n",
       "      <th>Loss</th>\n",
       "      <th>epoch</th>\n",
       "      <th>split</th>\n",
       "      <th>MAE_val</th>\n",
       "      <th>RMSE_val</th>\n",
       "      <th>Loss_test</th>\n",
       "      <th>RegLoss_test</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>563</th>\n",
       "      <td>5.339781</td>\n",
       "      <td>6.604742</td>\n",
       "      <td>0.000249</td>\n",
       "      <td>563.0</td>\n",
       "      <td>train1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>491</th>\n",
       "      <td>6.298254</td>\n",
       "      <td>7.553654</td>\n",
       "      <td>0.000226</td>\n",
       "      <td>491.0</td>\n",
       "      <td>train2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>validate</td>\n",
       "      <td>18.062246</td>\n",
       "      <td>25.076841</td>\n",
       "      <td>0.005187</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>test</td>\n",
       "      <td>18.720812</td>\n",
       "      <td>22.780600</td>\n",
       "      <td>0.002678</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          MAE      RMSE      Loss  epoch     split    MAE_val   RMSE_val  \\\n",
       "563  5.339781  6.604742  0.000249  563.0    train1        NaN        NaN   \n",
       "491  6.298254  7.553654  0.000226  491.0    train2        NaN        NaN   \n",
       "0         NaN       NaN       NaN    NaN  validate  18.062246  25.076841   \n",
       "0         NaN       NaN       NaN    NaN      test  18.720812  22.780600   \n",
       "\n",
       "     Loss_test  RegLoss_test  \n",
       "563        NaN           NaN  \n",
       "491        NaN           NaN  \n",
       "0     0.005187           0.0  \n",
       "0     0.002678           0.0  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metrics_train1[\"split\"] = \"train1\"\n",
    "metrics_train2[\"split\"] = \"train2\"\n",
    "metrics_val[\"split\"] = \"validate\"\n",
    "metrics_test[\"split\"] = \"test\"\n",
    "metrics_train1.tail(1).append([metrics_train2.tail(1), metrics_val, metrics_test]).drop(columns=[\"RegLoss\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "56864317-2b2f-4332-8d76-40a40e287b9d",
   "metadata": {
    "tags": []
   },
   "source": [
    "### 2.2 Train, Cross-Validate and Cross-Test evaluation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "dac90c4f-63e7-42f2-b49e-f6b3177e070f",
   "metadata": {},
   "outputs": [],
   "source": [
    "METRICS = [\"MAE\", \"RMSE\"]\n",
    "METRICS_VAL = [\"MAE_val\", \"RMSE_val\"]\n",
    "params = {\"seasonality_mode\": \"multiplicative\", \"learning_rate\": 0.1}\n",
    "\n",
    "df = pd.read_csv(data_location + \"air_passengers.csv\")\n",
    "folds_val, folds_test = NeuralProphet(**params).double_crossvalidation_split_df(\n",
    "    df, freq=\"MS\", k=5, valid_pct=0.10, test_pct=0.10\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "96d8154e-c77a-4836-ad92-9b205e88b268",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "199ac4069d934ac48bc88f65965fd739",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f3b2f7d93d9944159c3123a4cf7f2e52",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:8: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:9: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.017169639468193054\n",
      "         MAE_val             43.81590270996094\n",
      "        RMSE_val             45.62299346923828\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0bffad79c71744f8b49361d4d98cf455",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2a96245a23794e4abe50e3f4ebc769e8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:8: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:9: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test           0.01694938912987709\n",
      "         MAE_val             42.67584228515625\n",
      "        RMSE_val             45.32938766479492\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7a95e69d57c740bc8c11c4f28f199551",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "264a25fbd59c4fe0a7164f42791371ac",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:8: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:9: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.008688823319971561\n",
      "         MAE_val            29.468582153320312\n",
      "        RMSE_val            32.455142974853516\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e54aab6763fc47759918e4711fba1a67",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8793b377b66a449bb7c993e8ba85ef2c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:8: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:9: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.001547039020806551\n",
      "         MAE_val            13.694732666015625\n",
      "        RMSE_val            13.694735527038574\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6b2cb304599c4186818613ad042ebe3a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2a37a241256542c4ba9468dd1c270e87",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:8: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:9: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.0036992093082517385\n",
      "         MAE_val            21.072723388671875\n",
      "        RMSE_val             21.17667007446289\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1719c2ba9732446abf4c52c2354f82dc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bdf03b074c0b4e49b7b2de9df6911138",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:18: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:19: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.0032182412687689066\n",
      "         MAE_val            28.705841064453125\n",
      "        RMSE_val            28.857887268066406\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a10c0f84b4b8439f8ac3faf8cd54dff6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2b39ed6190ec4f5f878e17ca964c6fa9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:18: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:19: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.0016795611009001732\n",
      "         MAE_val             17.63250732421875\n",
      "        RMSE_val             20.83587646484375\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "616ea7ac991c49808679b7bc8ef5ae16",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "eb03a60a963a4eda90ea856cce738543",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:18: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:19: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.0010085979010909796\n",
      "         MAE_val             12.40789794921875\n",
      "        RMSE_val             16.33718490600586\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c99abce0d72c46989bed821461a7b203",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4b29eaab073249269bc69fe1786a5e3d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:18: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:19: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.0016017681919038296\n",
      "         MAE_val            18.285919189453125\n",
      "        RMSE_val             20.88248634338379\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3396d9e91dcf412880311a30ecce8851",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c06f9cf90b104429884ba8f0245947e3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Testing: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:18: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n",
      "WARNING - (py.warnings._showwarnmsg) - /var/folders/6b/n_b96k8n2pn66yjx0387dhjc0000gn/T/ipykernel_22660/2088809072.py:19: FutureWarning:\n",
      "\n",
      "The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "       Test metric             DataLoader 0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
      "        Loss_test          0.0005868254229426384\n",
      "         MAE_val            11.258453369140625\n",
      "        RMSE_val            13.225532531738281\n",
      "      RegLoss_test                  0.0\n",
      "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n"
     ]
    }
   ],
   "source": [
    "metrics_train1 = pd.DataFrame(columns=METRICS)\n",
    "metrics_val = pd.DataFrame(columns=METRICS_VAL)\n",
    "for df_train1, df_val in folds_val:\n",
    "    m = NeuralProphet(**params)\n",
    "    m.set_plotting_backend(\"plotly-static\")\n",
    "    train1 = m.fit(df=df_train, freq=\"MS\")\n",
    "    val = m.test(df=df_val)\n",
    "    metrics_train1 = metrics_train1.append(train1[METRICS].iloc[-1])\n",
    "    metrics_val = metrics_val.append(val[METRICS_VAL].iloc[-1])\n",
    "\n",
    "metrics_train2 = pd.DataFrame(columns=METRICS)\n",
    "metrics_test = pd.DataFrame(columns=METRICS_VAL)\n",
    "for df_train2, df_test in folds_test:\n",
    "    m = NeuralProphet(**params)\n",
    "    m.set_plotting_backend(\"plotly-static\")\n",
    "    train2 = m.fit(df=df_train2, freq=\"MS\")\n",
    "    test = m.test(df=df_test)\n",
    "    metrics_train2 = metrics_train2.append(train2[METRICS].iloc[-1])\n",
    "    metrics_test = metrics_test.append(test[METRICS_VAL].iloc[-1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "c5ea1cbc-fbb2-46b1-9a43-4547f8b6113a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MAE</th>\n",
       "      <th>RMSE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>7.470476</td>\n",
       "      <td>9.342587</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.249411</td>\n",
       "      <td>0.270676</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           MAE      RMSE\n",
       "mean  7.470476  9.342587\n",
       "std   0.249411  0.270676"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metrics_train2.describe().loc[[\"mean\", \"std\"]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "13f96119-df3c-4a0d-adeb-f2816ff88587",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MAE_val</th>\n",
       "      <th>RMSE_val</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>30.145557</td>\n",
       "      <td>31.655786</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>13.203131</td>\n",
       "      <td>14.274982</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        MAE_val   RMSE_val\n",
       "mean  30.145557  31.655786\n",
       "std   13.203131  14.274982"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metrics_val.describe().loc[[\"mean\", \"std\"]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "6c6327f8-bcb3-4454-bc9f-a1fe26f8bea6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MAE_val</th>\n",
       "      <th>RMSE_val</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>17.658124</td>\n",
       "      <td>20.027794</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>6.909549</td>\n",
       "      <td>5.900114</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        MAE_val   RMSE_val\n",
       "mean  17.658124  20.027794\n",
       "std    6.909549   5.900114"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metrics_test.describe().loc[[\"mean\", \"std\"]]"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e"
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
